import request from '@/config/axios'
import type { Dayjs } from 'dayjs'

/** 食物管理信息 */
export interface RecipeFood {
  id: number // 主键ID
  sid: string // 旧分类ID
  foodId?: string // 食物编码
  foodName?: string // 食物名称
  trueName: string // 真实名称
  foodPart: number // 可食用部分比例（%）
  water: number // 水分（g/100g）
  energyKcal: number // 能量（kcal）
  proteinG: number // 蛋白质（g）
  fatG: number // 脂肪（g）
  carbohydrateG: number // 碳水化合物（g）
  fiberG: number // 膳食纤维（g）
  vitaminAUg: number // 维生素A（μg）
  retinolEquivalentUg: number // 视黄醇当量（μg）
  vitaminB1Mg: number // 维生素B1（mg）
  vitaminB2Mg: number // 维生素B2（mg）
  niacinMg: number // 尼克酸（mg）
  vitaminCMg: number // 维生素C（mg）
  vitaminEMg: number // 维生素E（mg）
  betaCaroteneUg: number // β-胡萝卜素（μg）
  calciumMg: number // 钙（mg）
  phosphorusMg: number // 磷（mg）
  potassiumMg: number // 钾（mg）
  sodiumMg: number // 钠（mg）
  magnesiumMg: number // 镁（mg）
  ironMg: number // 铁（mg）
  zincMg: number // 锌（mg）
  seleniumMg: number // 硒（mg）
  copperMg: number // 铜（mg）
  manganeseMg: number // 锰（mg）
  iodineUg: number // 碘（μg）
  sort: number // 排序号
  status: number // 状态
}

// 食物管理 API
export const RecipeFoodApi = {
  // 查询食物管理分页
  getRecipeFoodPage: async (params: any) => {
    return await request.get({ url: `/school/recipe-food/page`, params })
  },

  // 根据分类查询精简版食物
  getRecipeFoodList: async (foodTypeId: number) => {
    return await request.get({ url: `/school/recipe-food/simple-list?foodTypeId=${foodTypeId}` })
  },
  // 查询食物管理详情
  getRecipeFood: async (id: number) => {
    return await request.get({ url: `/school/recipe-food/get?id=` + id })
  },

  // 新增食物管理
  createRecipeFood: async (data: RecipeFood) => {
    return await request.post({ url: `/school/recipe-food/create`, data })
  },

  // 修改食物管理
  updateRecipeFood: async (data: RecipeFood) => {
    return await request.put({ url: `/school/recipe-food/update`, data })
  },

  // 删除食物管理
  deleteRecipeFood: async (id: number) => {
    return await request.delete({ url: `/school/recipe-food/delete?id=` + id })
  },

  /** 批量删除食物管理 */
  deleteRecipeFoodList: async (ids: number[]) => {
    return await request.delete({ url: `/school/recipe-food/delete-list?ids=${ids.join(',')}` })
  },

  // 导出食物管理 Excel
  exportRecipeFood: async (params) => {
    return await request.download({ url: `/school/recipe-food/export-excel`, params })
  }
}
